package vista;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JSeparator;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;

import bean.BtSacfre;
import bean.JTextFieldValidator;
import bean.TablaPlus;
import bean.TxtEscribirLetras;
import bean.TxtEscribirLetrasEspaciosNumeros;
import bean.TxtEscribirSoloNumeros;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class frmGestionarVenta extends javax.swing.JFrame {
	private JPanel pndatos;
	private JSeparator separadorprovdor;
	private BtSacfre btlimpiar;
	private JPanel pnbotones;
	private JLabel lblproducto1;
	private JLabel lblfecha1;
	private JLabel lblfecha;
	private JLabel lblnumeroventa1;
	private JLabel lblnumeroventa;
	private JLabel lblunidades1;
	private JLabel lblapellido2;
	private JLabel lblnombre2;
	private BtSacfre btcancelar;
	private BtSacfre btguardar;
	private JLabel lblmonto;
	private JLabel lbltotal;
	private TablaPlus tbdetalleventa;
	private JLabel lbldetalleventa;
	private BtSacfre btremover;
	private BtSacfre btagregar;
	private JSeparator separadordetalle;
	private TxtEscribirSoloNumeros txtcantidad;
	private JLabel lblcantidad;
	private JTextFieldValidator txtprecio;
	private JLabel lblprecio;
	private JLabel lblproductonombre;
	private JLabel lblprodtabla;
	private TablaPlus tbproductos;
	private JLabel lblproductos;
	private JLabel lblapellido;
	private JSeparator separadorproducto;
	private JLabel lblnombre;
	private BtSacfre btbuscar;
	private TxtEscribirSoloNumeros txtnumero;
	private JComboBox cmbidentificacion;
	private JLabel lblidentificacion;
	private JLabel lbldatosproveedor;
	private JPanel pndatosventa;
	private BtSacfre btcargarproducto;
	private JOptionPane mensaje;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				frmGestionarVenta inst = new frmGestionarVenta();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public frmGestionarVenta() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("SACFRE/Gestionar Venta");
			this.setResizable(false);
			{
				pndatos = new JPanel();
				getContentPane().add(pndatos, BorderLayout.CENTER);
				pndatos.setLayout(null);
				pndatos.setBackground(new java.awt.Color(239,171,183));
				pndatos.setPreferredSize(new java.awt.Dimension(1040, 636));
				{
					pndatosventa = new JPanel();
					pndatos.add(pndatosventa);
					pndatosventa.setBounds(12, 12, 1006, 600);
					pndatosventa.setLayout(null);
					pndatosventa.setBackground(new java.awt.Color(255,219,225));
					pndatosventa.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
					{
						separadorprovdor = new JSeparator();
						pndatosventa.add(separadorprovdor);
						separadorprovdor.setBounds(6, 63, 993, 2);
						separadorprovdor.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
					}
					{
						lbldatosproveedor = new JLabel();
						pndatosventa.add(lbldatosproveedor);
						lbldatosproveedor.setText("Datos del Proveedor");
						lbldatosproveedor.setBounds(13, 42, 226, 15);
						lbldatosproveedor.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblidentificacion = new JLabel();
						pndatosventa.add(lblidentificacion);
						lblidentificacion.setText("Identificacion:");
						lblidentificacion.setBounds(6, 90, 112, 15);
						lblidentificacion.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						ComboBoxModel cmbidentificacionModel = 
							new DefaultComboBoxModel(
									new String[] { "V-", "J-", "E-"});
						cmbidentificacion = new JComboBox();
						pndatosventa.add(cmbidentificacion);
						cmbidentificacion.setModel(cmbidentificacionModel);
						cmbidentificacion.setBounds(118, 83, 39, 34);
						cmbidentificacion.setBackground(new java.awt.Color(247,218,223));
					}
					{
						txtnumero = new TxtEscribirSoloNumeros();
						pndatosventa.add(txtnumero);
						txtnumero.setBounds(160, 82, 206, 35);
					}
					{
						btbuscar = new BtSacfre();
						pndatosventa.add(btbuscar);
						btbuscar.setBounds(372, 83, 35, 34);
						btbuscar.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/search_business_user.png")));
					}
					{
						lblnombre = new JLabel();
						pndatosventa.add(lblnombre);
						lblnombre.setText("Nombres:");
						lblnombre.setBounds(31, 143, 82, 15);
						lblnombre.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblapellido = new JLabel();
						pndatosventa.add(lblapellido);
						lblapellido.setText("Apellidos:");
						lblapellido.setBounds(421, 143, 90, 15);
						lblapellido.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						separadorproducto = new JSeparator();
						pndatosventa.add(separadorproducto);
						separadorproducto.setBounds(5, 193, 993, 2);
						separadorproducto.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
					}
					{
						lblproductos = new JLabel();
						pndatosventa.add(lblproductos);
						lblproductos.setText("Productos de la Venta");
						lblproductos.setBounds(13, 178, 202, 15);
						lblproductos.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						String[] columnas = { "Codigo", "Nombre","Unidad" };
						tbproductos = new TablaPlus();
						tbproductos.setBounds(565, 215, 431, 155);
						pndatosventa.add(tbproductos);
						tbproductos.setTablaPlus(columnas);
						tbproductos.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						tbproductos.setEnabled(false);
						tbproductos.setFont(new java.awt.Font("FreeSerif",1,14));
					}
					{
						lblprodtabla = new JLabel();
						pndatosventa.add(lblprodtabla);
						lblprodtabla.setText("Productos");
						lblprodtabla.setBounds(772, 198, 121, 15);
						lblprodtabla.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblproductonombre = new JLabel();
						pndatosventa.add(lblproductonombre);
						lblproductonombre.setText("Producto:");
						lblproductonombre.setBounds(1, 224, 78, 15);
						lblproductonombre.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblprecio = new JLabel();
						pndatosventa.add(lblprecio);
						lblprecio.setText("Precio(bsf):");
						lblprecio.setBounds(77, 260, 101, 15);
						lblprecio.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						txtprecio =  new JTextFieldValidator(JTextFieldValidator.NUMEROS_DECIMALES);;
						pndatosventa.add(txtprecio);
						txtprecio.setBounds(77, 276, 156, 35);
						txtprecio.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblcantidad = new JLabel();
						pndatosventa.add(lblcantidad);
						lblcantidad.setText("Cantidad:");
						lblcantidad.setBounds(77, 318, 101, 15);
						lblcantidad.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						txtcantidad = new TxtEscribirSoloNumeros();
						pndatosventa.add(txtcantidad);
						txtcantidad.setBounds(77, 333, 154, 35);
					}
					{
						separadordetalle = new JSeparator();
						pndatosventa.add(separadordetalle);
						separadordetalle.setBounds(5, 406, 991, 2);
						separadordetalle.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
					}
					{
						lbldetalleventa = new JLabel();
						pndatosventa.add(lbldetalleventa);
						lbldetalleventa.setText("Detalle de la Venta");
						lbldetalleventa.setBounds(13, 385, 188, 15);
						lbldetalleventa.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						String[] columnas = { "Codigo", "Nombre" ,"Cantidad", "Precio", "Unidad", "SubTotal" };
						tbdetalleventa = new TablaPlus();
						tbdetalleventa.setBounds(14, 414, 620, 168);
						pndatosventa.add(tbdetalleventa);
						tbdetalleventa.setTablaPlus(columnas);
						tbdetalleventa.setEnabled(false);
						tbdetalleventa.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						tbdetalleventa.setFont(new java.awt.Font("FreeSerif",1,14));
					}
					{
						lbltotal = new JLabel();
						pndatosventa.add(lbltotal);
						lbltotal.setText("Total:");
						lbltotal.setBounds(646, 417, 123, 31);
						lbltotal.setFont(new java.awt.Font("FreeSerif",1,36));
					}
					{
						lblmonto = new JLabel();
						pndatosventa.add(lblmonto);
						lblmonto.setText("0.0 Bsf");
						lblmonto.setBounds(769, 414, 218, 36);
						lblmonto.setFont(new java.awt.Font("FreeSerif",1,36));
					}
					{
						btguardar = new BtSacfre();
						pndatosventa.add(btguardar);
						btguardar.setText("Guardar");
						btguardar.setBounds(817, 524, 163, 58);
						btguardar.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/save.png")));
					}
					{
						btcancelar = new BtSacfre();
						pndatosventa.add(btcancelar);
						btcancelar.setText("Cancelar");
						btcancelar.setBounds(646, 524, 165, 58);
						btcancelar.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/delete.png")));
					}
					{
						lblnombre2 = new JLabel();
						pndatosventa.add(lblnombre2);
						lblnombre2.setBounds(119, 130, 289, 35);
						lblnombre2.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						lblnombre2.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblapellido2 = new JLabel();
						pndatosventa.add(lblapellido2);
						lblapellido2.setBounds(507, 131, 289, 35);
						lblapellido2.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						lblapellido2.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblunidades1 = new JLabel();
						pndatosventa.add(lblunidades1);
						lblunidades1.setBounds(247, 336, 112, 35);
						lblunidades1.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblnumeroventa = new JLabel();
						pndatosventa.add(lblnumeroventa);
						lblnumeroventa.setText("Numero de la Venta:");
						lblnumeroventa.setBounds(13, 15, 180, 15);
						lblnumeroventa.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblnumeroventa1 = new JLabel();
						pndatosventa.add(lblnumeroventa1);
						lblnumeroventa1.setText("#0000");
						lblnumeroventa1.setBounds(192, 11, 65, 22);
						lblnumeroventa1.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblfecha = new JLabel();
						pndatosventa.add(lblfecha);
						lblfecha.setText("Fecha:");
						lblfecha.setBounds(644, 18, 73, 15);
						lblfecha.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblfecha1 = new JLabel();
						pndatosventa.add(lblfecha1);
						lblfecha1.setBounds(712, 18, 287, 15);
						lblfecha1.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						lblproducto1 = new JLabel();
						pndatosventa.add(getLblproducto1());
						lblproducto1.setBounds(77, 216, 285, 38);
						lblproducto1.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						lblproducto1.setFont(new java.awt.Font("FreeSerif",1,16));
					}
					{
						pnbotones = new JPanel();
						pndatosventa.add(getPnbotones());
						pnbotones.setLayout(null);
						pnbotones.setBounds(366, 214, 193, 155);
						pnbotones.setBackground(new java.awt.Color(255,219,225));
						pnbotones.setBorder(new LineBorder(new java.awt.Color(0,0,0), 1, false));
						{
							btcargarproducto = new BtSacfre();
							pnbotones.add(btcargarproducto);
							btcargarproducto.setBounds(5, 13, 183, 36);
							btcargarproducto.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/back.png")));
							btcargarproducto.setText("Cargar Producto");
						}
						{
							btremover = new BtSacfre();
							pnbotones.add(btremover);
							btremover.setText("Remover Detalle");
							btremover.setBounds(5, 106, 183, 36);
							btremover.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/delete2.png")));
						}
						{
							btagregar = new BtSacfre();
							pnbotones.add(btagregar);
							btagregar.setText("Agregar Detalle");
							btagregar.setBounds(5, 58, 183, 38);
							btagregar.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/add2.png")));
							
						}
					}
					{
						btlimpiar = new BtSacfre();
						pndatosventa.add(getBtlimpiar());
						btlimpiar.setBounds(413, 84, 47, 33);
						btlimpiar.setIcon(new ImageIcon(getClass().getClassLoader().getResource("Iconos/remove.png")));
						btlimpiar.setText(" ");
						btlimpiar.setBorderPainted(false);
					}
				}
			}
			pack();
			this.setSize(1032, 660);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}

	public JPanel getPndatos() {
		return pndatos;
	}

	public JSeparator getSeparadorprovdor() {
		return separadorprovdor;
	}
	
	public JLabel getLblfecha1() {
		return lblfecha1;
	}

	public JLabel getLblfecha() {
		return lblfecha;
	}

	public JLabel getLblnumeroventa1() {
		return lblnumeroventa1;
	}

	public JLabel getLblnumeroventa() {
		return lblnumeroventa;
	}

	public JLabel getLblunidades1() {
		return lblunidades1;
	}

	public JLabel getLblapellido2() {
		return lblapellido2;
	}

	public JLabel getLblnombre2() {
		return lblnombre2;
	}

	public BtSacfre getBtcancelar() {
		return btcancelar;
	}

	public BtSacfre getBtguardar() {
		return btguardar;
	}

	public JLabel getLblmonto() {
		return lblmonto;
	}

	public JLabel getLbltotal() {
		return lbltotal;
	}

	public TablaPlus getTbdetalleventa() {
		return tbdetalleventa;
	}

	public JLabel getLbldetalleventa() {
		return lbldetalleventa;
	}

	public BtSacfre getBtremover() {
		return btremover;
	}

	public BtSacfre getBtagregar() {
		return btagregar;
	}

	public JSeparator getSeparadordetalle() {
		return separadordetalle;
	}

	public TxtEscribirSoloNumeros getTxtcantidad() {
		return txtcantidad;
	}

	public JLabel getLblcantidad() {
		return lblcantidad;
	}

	public JTextFieldValidator getTxtprecio() {
		return txtprecio;
	}

	public JLabel getLblprecio() {
		return lblprecio;
	}

	public JLabel getLblproductonombre() {
		return lblproductonombre;
	}

	public JLabel getLblprodtabla() {
		return lblprodtabla;
	}

	public TablaPlus getTbproductos() {
		return tbproductos;
	}

	public JLabel getLblproductos() {
		return lblproductos;
	}

	public JLabel getLblapellido() {
		return lblapellido;
	}

	public JSeparator getSeparadorproducto() {
		return separadorproducto;
	}

	public JLabel getLblnombre() {
		return lblnombre;
	}

	public BtSacfre getBtbuscar() {
		return btbuscar;
	}

	public TxtEscribirSoloNumeros getTxtnumero() {
		return txtnumero;
	}

	public JComboBox getCmbidentificacion() {
		return cmbidentificacion;
	}

	public JLabel getLblidentificacion() {
		return lblidentificacion;
	}

	public JLabel getLbldatosproveedor() {
		return lbldatosproveedor;
	}

	public JPanel getPndatosventa() {
		return pndatosventa;
	}
	
	public BtSacfre getBtcargarproducto() {
		return btcargarproducto;
	}
	
	public JLabel getLblproducto1() {
		return lblproducto1;
	}
	
	public JPanel getPnbotones() {
		return pnbotones;
	}

	public JOptionPane getMensaje() {
		return mensaje;
	}

	public void AgregarEscuchadores(ActionListener actionlistener){
		this.btlimpiar.addActionListener(actionlistener);
		this.btagregar.addActionListener(actionlistener);
		this.btbuscar.addActionListener(actionlistener);
		this.btcancelar.addActionListener(actionlistener);
		this.btguardar.addActionListener(actionlistener);
		this.btremover.addActionListener(actionlistener);
		this.btcargarproducto.addActionListener(actionlistener);
	}	
	
	public BtSacfre getBtlimpiar() {
		return btlimpiar;
	}

}
